package main

import "fmt"

func main() {

	//   类型  	长度   		零值    		remark
	// 布尔类型 	 1 			false
	var bool_ bool

	// 字节型 	 1 	 		 0 			uint8别名
	var byte_ byte

	// 字符型 	 4 			 0 		专用于存储Unicode，等价于uint32
	var rune_ rune

	// 整型		 4或8 		 0 	 		32或64位
	var int_ int
	var uint_ uint

	// 整型		 1 		 	 0 	 		-127~127 0~255
	var int8_ int8
	var uint8_ uint8

	// 整型		 2			 0 			-32768~32757 0~65535
	var int16_ int16
	var uint16_ uint16

	// 整型		 4 			 0 			 -21亿~21亿  0~42亿
	var int32_ int32
	var uint32_ uint32

	// 整型 		 8  		 0			 18446744073709551615  -9223372036854775808~9223372036854775807
	var int64_ int64
	var uint64_ uint64

	// 浮点型	 4 		 	 0.0 	    	小数位精确到7位
	var float32_ float32

	// 浮点型	 8 		 	 0.0 	    	小数位精确到15位
	var float64_ float64

	// 复数 8位  16位
	var complex64_ complex64
	var complex128_ complex128

	// 整型 4或者8位   足以存储指针的uint32  或  uint64
	var uintptr_ uintptr

	// 字符串
	var str string

	fmt.Println(1, bool_, byte_)
	fmt.Println(2, rune_)
	fmt.Println(3, int_, uint_)
	fmt.Println(4, int8_, uint8_)
	fmt.Println(5, int16_, uint16_)
	fmt.Println(6, int32_, uint32_)
	fmt.Println(7, int64_, uint64_)
	fmt.Println(8, float32_, float64_)
	fmt.Println(9, complex64_, complex128_)
	fmt.Println(10, uintptr_)
	fmt.Println(11, str)

}
